package org.Raven.domain.strategy.service.armory;

import java.util.Date;

/**
 * @Description 策略抽奖调度
 * @Author Raven
 * @Date 2025/1/20
 */
public interface IStrategyDispatch {
    //获取转配后的随机结果
    Integer getRandomAwardId(Long strategyId);

    Integer getRandomAwardId(Long strategyId,String ruleWeightValue);

    Integer getRandomAwardId(String key);

    /**
     * 根据策略id和奖品id 扣减商品缓存库存
     * @param strategyId 策略id
     * @param awardId 奖品id
     * @return 扣减结果
     */
    Boolean subtractionAwardStock(Long strategyId,Integer awardId, Date endDateTime);
}
